/**
 * 入栈固定为 ABCD...
 * A不能第一个出栈，问合法的出栈方案总数
 * 打表找OEIS，通项公式为 
 *         3 * (2n)!
 *   ------------------
 *     (n+2)! * (n-1)! 
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;
llt const MOD = 998244353LL;

llt qpow(llt a, llt n){
    llt ret = 1;
    while(n){
        if(n & 1) ret = ret * a % MOD;
        a = a * a % MOD;
        n >>= 1;
    }
    return ret;
}

inline llt inv(llt x){return qpow(x, MOD - 2);}

vector<llt> C;

void init(int sz){
    C.assign(sz, 0LL);
    C[0] = C[1] = 0;
    llt f2n = 2;
    llt f2plus = 6;
    llt f1minus = 1;
    for(int i=2;i<sz;++i){
        f2n = f2n * (i + i - 1) % MOD * (i + i) % MOD;
        f2plus = f2plus * (i + 2) % MOD;
        f1minus = f1minus * (i - 1) % MOD;
        C[i] = 3 * f2n % MOD * inv(f2plus * f1minus % MOD) % MOD;
    } 
    return;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);
    init(100010);
    int nofkase; cin >> nofkase;
    for(int kase=1;kase<=nofkase;++kase){
        int n; cin >> n;
        cout << "Case #" << kase << ": " << C[n - 1] << endl;
    }
    return 0;
}